﻿// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
//
// 本项目主要遵循 MIT 许可证和 Apache 许可证（版本 2.0）进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
//
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动！任何基于本项目二次开发而产生的一切法律纠纷和责任，我们不承担任何责任！

using Admin.NET.Core;

namespace Admin.NET.Application.Entity;

/// <summary>
/// 嘉里车辆信息
/// </summary>
[SugarTable("kerrypluscarinfos", "嘉里车辆信息")]
[Tenant("1300000000001")]
public class Kerrypluscarinfo : EntityBase
{
    /// <summary>
    /// 用户ID
    /// </summary>
    [SugarColumn(ColumnName = "UserId", ColumnDescription = "用户ID", Length = 200)]
    public string? UserId { get; set; }

    /// <summary>
    /// 车牌
    /// </summary>
    [SugarColumn(ColumnName = "CarNo", ColumnDescription = "车牌", Length = 200)]
    public string? CarNo { get; set; }

    /// <summary>
    ///     是否自动查询
    /// </summary>
    [SugarColumn(ColumnName = "IsAutoQuery", ColumnDescription = "是否自动查询")]
    public bool IsAutoQuery { get; set; }

    /// <summary>
    /// 自动缴费
    /// </summary>
    [Required]
    [SugarColumn(ColumnName = "IsAutoPay", ColumnDescription = "自动缴费")]
    public bool IsAutoPay { get; set; }

    /// <summary>
    /// 状态
    /// </summary>
    [Required]
    [SugarColumn(ColumnName = "State", ColumnDescription = "状态")]
    public int State { get; set; }

    /// <summary>
    /// 入场时间
    /// </summary>
    [Required]
    [SugarColumn(ColumnName = "EnterTime", ColumnDescription = "入场时间")]
    public DateTime EnterTime { get; set; }

    /// <summary>
    /// 欠费金额
    /// </summary>
    [Required]
    [SugarColumn(ColumnName = "TotalFeeInYuan", ColumnDescription = "欠费金额", Length = 65, DecimalDigits = 30)]
    public decimal TotalFeeInYuan { get; set; }

    /// <summary>
    ///     最后查询时间
    /// </summary>
    [SugarColumn(ColumnName = "LastQueryTime", ColumnDescription = "最后查询时间")]
    public DateTime LastQueryTime { get; set; }

    /// <summary>
    ///     最后缴费时间
    /// </summary>
    [SugarColumn(ColumnName = "LastPayTime", ColumnDescription = "最后缴费时间")]
    public DateTime LastPayTime { get; set; }

    /// <summary>
    ///     最后缴费金额
    /// </summary>
    [SugarColumn(ColumnName = "LastPayFee", ColumnDescription = "最后缴费金额")]
    public decimal LastPayFee { get; set; }

    /// <summary>
    ///     下次缴费时间
    /// </summary>
    [SugarColumn(ColumnName = "NextPayTime", ColumnDescription = "下次缴费时间")]
    public DateTime NextPayTime { get; set; }

    /// <summary>
    /// 规则
    /// </summary>
    [SugarColumn(ColumnName = "PayRule", ColumnDescription = "规则", Length = 200)]
    public string? PayRule { get; set; }

    /// <summary>
    ///     每天已使用券次数
    /// </summary>
    [SugarColumn(ColumnName = "TodayCouponCount", ColumnDescription = "每天已使用券次数")]
    public int TodayCouponCount { get; set; }

    /// <summary>
    ///     每天已使用积分
    /// </summary>
    [SugarColumn(ColumnName = "TodayIntegral", ColumnDescription = "每天已使用积分")]
    public int TodayIntegral { get; set; }

    /// <summary>
    ///     每天离场
    /// </summary>
    [SugarColumn(ColumnName = "TodayOut", ColumnDescription = "每天离场")]
    public bool TodayOut { get; set; }

    /// <summary>
    /// 备注
    /// </summary>
    [SugarColumn(ColumnName = "Remark", ColumnDescription = "备注", Length = 200)]
    public string? Remark { get; set; }

    /// <summary>
    /// 租户Id
    /// </summary>
    [SugarColumn(ColumnName = "TenantId", ColumnDescription = "租户Id")]
    public long? TenantId { get; set; }
}